#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <semaphore.h>

_PROTOTYPE ( int main, (void));
int main(){
       
	sem_t exclu,a,b,c;
	int res;
	a.id=0;
	b.id=1;
        c.id=2;
        exclu.id=3;
	res = sem_assign(&a,2);
	if(res < 0){
		printf("error\n");
		return -1;
	}
	res=sem_assign(&b,0);
	if(res < 0){
		printf("error\n");
		return -1;
	}
        res = sem_assign(&c,0);
	if(res < 0){
		printf("error\n");
		return -1;
	}
	res=sem_assign(&exclu,1);
	if(res < 0){
		printf("error\n");
		return -1;
	}
        sem_wait(&exclu);
	sem_wait(&a);
        sem_wait(&a);
        sem_post(&exclu);
        printf("A");
        sem_post(&b);
        sem_post(&c);
	return 0;
}
